package com.Lyoto.NetNotify.Notifier;

import com.Lyoto.NetNotify.Handler.PushRegistrar;

/**
 * @author Lyoto
 * @Description 顶级接口，状态发生变化时做出反映
 * @Date 2022-09-19 14:53
 * @Version
 **/
public interface Notify {
    /**
     * 通知远端
     * @return true 通知成功 false 失败
     */
    void notifyOrg();
    
    /**
     * 修改本地ip
     * @return true 通知成功 false 失败
     */
    void notifyChangeIp();

    Notify addPusher(PushRegistrar registrar);

    default void addPushers(PushRegistrar ... registrars){
        for (PushRegistrar registrar : registrars){
            addPusher(registrar);
        }
    }
}
